iT邦幫忙

2023 iThome 鐵人賽

DAY 8
1

要抓取保養品的資訊,就要提到爬蟲的技術,去自動化的抓取保養品的相關資料。

什麼是爬蟲(Crawler)?

  • 是一種自動瀏覽全球資訊網的程式
  • 透過http請求對網站自動化抓取資料、上傳資料

流程

  1. 起始 URL:首先會有一個或多個初始的 URL
  2. 發送請求:爬蟲對這些 URL 發送 HTTP GET 請求,以獲取頁面內容
  3. 解析內容:獲取到網頁內容後,爬蟲會解析這些 HTML或 JSON 文檔,以找到需要的信息以及新的目標 URL
  4. 資料存儲:解析出來的有用信息通常會被保存到資料庫或其他存儲結構中。
  5. URL 佇列:新找到的 URL 會被加到一個待訪問的 URL 佇列裡
  6. 遞迴操作:爬蟲會繼續對佇列中的新 URL 進行上面的操作,直到達到一定的終止條件(如爬取的頁面數達到一定數量、或資料已足夠)

流程中提到,解析內容時除了找到需要的訊息,也可能找到新目標的URL,再繼續遞迴操作。
而爬蟲的搜尋策略決定了它會如何跑索引網絡資源

爬蟲的搜尋策略

  • 基於寬度的搜尋(Breadth-First Search, BFS)

    • 爬蟲會先訪問起始網頁上所有的連結,然後再訪問這些連結指向的所有其他網頁的連結,依此類推。
    • 這種方法適用於搜尋範圍較小、目標資訊集中在某幾層內的情況。
  • 基於深度的搜尋(Depth-First Search, DFS)

    • 這種策略會盡可能地遍歷每一條路徑,直到達到一個終點,然後再回溯。
    • 這種方式更有可能訪問到「深層」的網頁,但也有可能因為深入到某一個分支而忽略了其他有價值的資訊。
  • 平行式搜尋

    • 多個爬蟲並行工作,通常由一個中央協調者來分配任務和收集資料。
    • 可以提高爬取速度,但提生了維護的複雜性。

注意事項

  • 遵循 robots.txt:這是一個存放在網站根目錄的文件,用來指示哪些頁面可以被爬蟲訪問或不可以訪問。
  • 用戶代理(User-Agent):自己的身份,有時被擋住會需要更改這個部分。
  • 獲得許可:某些網站可能有使用條款,限制自動抓取其內容。
  • 講求禮貌:避免過度請求,以免對服務器造成負擔

參考

網路爬蟲


今天先到這邊,之後會跟細聊爬蟲的實際操作~/images/emoticon/emoticon03.gif


上一篇
【DAY07】HTTP 傳輸協定
下一篇
【DAY09】JSON
系列文
30天全端:關於網站實作的聊聊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言